#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    // 初始化表格

    // 新增行
    ui->tableWidget->insertRow(0);
    ui->tableWidget->insertRow(1);
    ui->tableWidget->insertRow(2);

    // 新增列
    ui->tableWidget->insertColumn(0);
    ui->tableWidget->insertColumn(1);
    ui->tableWidget->insertColumn(2);
    //  给三个列添加列标题
    ui->tableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem("学号"));
    ui->tableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem("姓名"));
    ui->tableWidget->setHorizontalHeaderItem(2, new QTableWidgetItem("性别"));

    // 给单元格中添加数据
    ui->tableWidget->setItem(0, 0, new QTableWidgetItem("1001"));
    ui->tableWidget->setItem(0, 1, new QTableWidgetItem("张三"));
    ui->tableWidget->setItem(0, 2, new QTableWidgetItem("男"));

    ui->tableWidget->setItem(1, 0, new QTableWidgetItem("1002"));
    ui->tableWidget->setItem(1, 1, new QTableWidgetItem("李四"));
    ui->tableWidget->setItem(1, 2, new QTableWidgetItem("男"));

    ui->tableWidget->setItem(2, 0, new QTableWidgetItem("1003"));
    ui->tableWidget->setItem(2, 1, new QTableWidgetItem("周苏"));
    ui->tableWidget->setItem(2, 2, new QTableWidgetItem("女"));





}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_insert_row_clicked()
{
    // 首先需要知道当前一共有多少行了
    // 然后在最后一行之后在新增一个新行
    int row = ui->tableWidget->rowCount();
    ui->tableWidget->insertRow(row); // 需要注意的是，此处的参数表示的下标，所以row不能加1
}

void Widget::on_pushButton_remove_row_clicked()
{
    // 先获取当前选中的是哪一行
    int row = ui->tableWidget->currentRow();
    ui->tableWidget->removeRow(row);
}

void Widget::on_pushButton_insert_col_clicked()
{
    // 先获取到当前一共有多少列
    int col = ui->tableWidget->columnCount();
    // 在最后一列之后新增一列
    ui->tableWidget->insertColumn(col);
    // 获取到输入框中的内容
    const QString& content = ui->lineEdit->text();
    ui->tableWidget->setHorizontalHeaderItem(col, new QTableWidgetItem(content));
}

void Widget::on_pushButton_remove_col_clicked()
{
    // 先获取到当前当前选中的是哪一列
    int col = ui->tableWidget->currentColumn();
    ui->tableWidget->removeColumn(col);
}
